/*
  Copyright (C) 2002-2003 Renaud Pawlak <renaud@aopsys.com>, 
                          Laurent Martelli <laurent@aopsys.com>
  
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU Lesser General Public License as
  published by the Free Software Foundation; either version 2 of the
  License, or (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */

package org.objectweb.jac.aspects.gui;

import java.util.List;

/**
 * A container for editor components.
 */
public interface EditorContainer {

   /**
    * Add an editor to the container.
    */
   void addEditor(Object value);

   /**
    * Remove an editor from the container.
    */
   void removeEditor(Object editor);

   /**
    * Get the list of all editors of this container.
    */
   List getEditors();

   /**
    * Returns true if at least one editor is enabled.
    */
   boolean hasEnabledEditor();

   /**
    * Sets the showButtons property of the container. If true, it will
    * offer a validation mechanism (typically, some OK/Cancel
    * buttons).  
    */
   void setShowButtons(boolean value);
   
   /**
    * Gets the value of showButtons
    * @see #setShowButtons(boolean)
    */
   boolean showButtons();

}
